容器 容器的容积一定比它的体积小
随着容器编排引擎Kubernetes的成熟和流行,容器化已经开始在IT界尤其是云计算领域得到广泛应用。和此同时,Serverless正逐渐成为继容器之后的下壹个技术潮流。因此,很多企业面临Kubernetes和Serverless之间的两难抉择。为了化解这个难题,度娘智能云新推出容器实例产品BCI,将建立这两者的链接,为用户提供最大的灵活性和便利性。
那么,该产品是怎样诞生的,技术特性是啥子?大家还是从容器说起。
1、高歌猛进的容器技术
自从2024年Docker技术和Kubernetes编排引擎问世以来,容器技术一路高歌猛进,逐渐成为了今天绝大部分企业IT架构的转型路线。容器为企业带来的架构优化和效率提高是显而易见的,利用Docker image轻量级、可移植的特征,将业务拆分解耦到不同的容器中,分布式部署至跨机器甚至跨机房的基础设施。
由于每个容器都可以被独立管理和更新而且快速在不同的基础设施之间迁移,容器化大大进步了IT生产流程的敏捷程度而且帮助企业获取更高的业务可用性。
然而容器也并非是万能的,随着容器的数量和复杂度增加,用户需要维护壹个庞大的集群和编排体系来进行容器管理,这就需要企业付出一定的额外资源用于维护集群本身,而且对于编排体系(如Kubernetes)的运用也是IT部门需要面临的壹个新的挑战。
云服务商一直在尝试利用云计算的优势降低容器的运用成本和技术门槛,如度娘智能云的容器引擎产品CCE,能够帮助用户快速搭建和维护壹个Kubernetes集群,为用户化解集群本身的可用性、可观察性以及对底层资源的兼容性等难题,同时使得原生的Kubernetes API能够以对用户更加友好的方法被运用。
2、新起之秀:Serverless
Serverless是继容器之后出现的又壹个技术动向,以云服务商提供的函数计算服务为典型代表(如度娘智能云函数计算CFC),其核心想法在于服务提供者完全打包了基础设施的搭建、管理和维护,开发者只需要编写业务代码并选择壹个所需的运行时,接着平台自动化地完成资源的创建、调度以及运行时的生活周期管理,并由平台保障业务运行环境的高可用性。
函数计算服务对于小型应用的开发者而言特别友好:
● 不需要提前采购和管理任何服务器,几乎为0的启动成本和运维成本。
● 无需关心资源的扩容和缩容,函数可以在毫秒级完成启停,带来了更高的业务弹性。
● 完全按需的付费玩法,资源只有在业务实际运行时才产生费用,不会再有闲置成本。
在许多轻量级场景中,函数计算已经得到了不错的应用和操作,比如小程序、智能设备、自动化数据处理等。
然而函数计算同样不能化解企业的全部难题,它标准用户的业务以函数为粒度进行拆分、函数之间完全通过接口通讯而且对业务的无情形化标准更高。对于复杂的业务体系而言,要满足这些标准并不简单,而且即便用户的业务架构可以真正实现函数化改造,现有的大规模函数协作、编排和管理技术也还不够成熟,很难完全投入生产。
在面对容器化和Serverless时,用户通常需要对业务进行拆分,根据业务属性选择更合适的架构,有时会因此而面临两难的技术抉择。
那么有没有一种技术可以在充分发挥容器编排引擎优势的同时,又享受到Serverless带来的低成本和高弹性呢?
3、鱼和熊掌也可兼得
Kata-Container和Virtual-Kubelet这两个新技术的进步为这个难题带来了新的思路,而度娘智能云基于两者提供的新产品:度娘智能云容器实例(Baidu Container Instance — BCI),也许会一个不错的答案。
● Kata-Container:作为一种启动docker的插件,为容器提供了更强的隔离性,化解了多租户情况下容器的安全难题。
● Virtual-Kubelet:CNCF 社区项目,帮助用户将kubernetes的管理范畴从物理集群拓展到任意的容器提供者。
BCI为用户提供了可以直接启动的容器化资源,不需要预先购买服务器和集群,用户在业务需要时可以随时启动壹个或多个容器,在业务完成后可以随时将其释放。
相比虚拟机,BCI充分发挥了容器化的优势,运用标准的Docker Image启动、细粒度的资源划分、在数秒内完成启动或停止、随时进行多副本复制。
对于小型应用的开发者,BCI可以体现出媲美函数计算的Serverless特性。将应用打包到Docker image中,即可启动或停止容器,只需要为应用运行实际消耗的资源付费,也完全不需要关心底层资源怎样管理和调度,而kata-container技术则完全确保了用户容器运行经过中的资源隔离性。
对于有复杂容器编排需求的企业,BCI可以通过Virtual-Kubelet接入到CCE集群中,从而成为用户集群中的壹个虚拟节点,这个虚拟节点几乎没有资源边界,用户也无需为它预先购买任何服务器。用户可以运用标准的Kubernetes API管理自己的容器(比如创建Deployment),通过指定部署节点,将业务容器部署到BCI容器实例中运行。
BCI的出现将建立起容器和Serverless之间的链接,大大拓展度娘智能云CCE的管理边界,为用户提供极大的便利和灵活性。
(转载)